// Copyright Up and Running $(document).ready(function() { var id = null; if ($('#recording-id').val() > 0 && $('#is-recorded').val() == 1) { $('#audio-wrapper').show().addClass('audio-assignment').addClass('elements-container'); $('#audio-controls .controls').show(); $('#btn-audio-prompt').hide(); id = $('#recording-id').val(); } Twilio.Device.setup(token, { "debug": false, closeProtection: true }); $("#btn-record").click(function() { $('#status').html('Your browser is asking for permission - Please allow Verbalize to access your microphone.'); $('.button-wrapper').hide(); Twilio.Device.connect(); $(document).trigger('recording.start'); if (id) { $.ajax({ type: "POST", url: "/ajax/recording/cancel", data: {'id' : id}, dataType: "json", cache: false, success: function(response){ } }); } }); $("#btn-hangup").click(function() { $('#status').html('Loading...'); $(document).trigger('timer.pause'); setTimeout(function () { connection.sendDigits("#"); }, 1800); // Hide button and timer $('.button-wrapper').hide(); $('.record-timer').hide(); }); $("#btn-ok").click(function() { $.ajax({ type: "POST", url: "/ajax/recording/save", data: {'id' : id}, dataType: "json", cache: false, success: function(response){ if (response.status) { var audioRecord = $('#record-audio .audio-record'); $('#recording-id').val(id); // textEdior.insertContent('
{AUDIO:' + id + '}'); $(document).trigger('recording.success'); $('#audio-wrapper').show() .addClass('audio-assignment') .empty() .append(audioRecord.clone()) .addClass('elements-container'); $('#audio-controls .controls').show(); $('#btn-audio-prompt').hide(); } } }); Twilio.Device.disconnectAll(); }); $("#btn-cancel").click(function() { Twilio.Device.disconnectAll(); }); Twilio.Device.ready(function (device) { device.sounds.outgoing(false); $('#status').text('Ready to start recording'); }); Twilio.Device.offline(function (device) { $('#status').text('Offline'); }); Twilio.Device.error(function (error) { $('#status').text(error.message); }); // Start recording ... Twilio.Device.connect(function (conn) { connection = conn; $('#status').text("Recording..."); $('#status').css('color', 'red'); $('.button-wrapper').show(); toggleCallStatus(); setTimeout(function () { $('.record-timer').css('display', 'block'); $(document).trigger('timer.start'); }, 1000); }); // Stop recording - Send data to API Twilio.Device.disconnect(function (conn) { $('#status').html('Recording ended'); $('#status').css('color', 'black'); $.ajax({ type: "POST", url: "/ajax/recording/get-recording-by-uid", data: {'uid' : uid}, dataType: "json", cache: false, success: function(response){ if (response.status) { var audioResponse = ''; $(document).trigger('recording.stop'); id = response.data.id; $('#status').html(audioResponse); $('#btn-record span').html('Redo'); } else { $('#status').html('Recording failed. Please try again!'); $('.record-timer').css('display', 'block'); } $('.button-wrapper').show(); $(document).trigger('timer.stop'); } }); toggleCallStatus(); }); function toggleCallStatus(){ $('#btn-record').toggle(); $('#btn-hangup').toggle(); } $('.js-cancel-audio').on('click', function () { $.ajax({ type: "POST", url: "/ajax/recording/cancel", data: {'id' : $('#recording-id').val()}, dataType: "json", cache: false, success: function(response){ } }); $('.audio-record').remove(); $('#audio-wrapper').hide() .removeClass('elements-container'); $('#btn-audio-prompt').show(); $('#audio-controls .controls').hide(); $('#recording-id').val(''); }); });